package com.ruge._08_springboot_springdata_jpa.model.base;

import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;
import java.io.Serializable;

/**
 * 创建人 ：爱丽丝、如歌
 * 创建时间 ：2019-07-06  20:50
 * 描述 ： 表示一个非Entity类可以嵌入到另一个Entity类中作为属性而存在。
 *
 * @embeddable是注释Java类的，表示类是嵌入类
 * @embedded是注释属性的，表示该属性的类是嵌入类。
 */
@Embeddable
@Data
@NoArgsConstructor
public class UnionPk implements Serializable {
   /* @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "AUTO_ID", columnDefinition = "int COMMENT '表示实体标识由 OpenJPA 容器自动生成，这也是 Strategy 属性的默认值'")
    private Integer autoId;*/
   /* @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "IDENTITY_ID", columnDefinition = "int COMMENT 'OpenJPA 容器将使用数据库的自增长字段为新增加的实体对象赋唯一值，作为实体的标识。这种情况下需要数据库提供对自增长字段的支持，常用的数据库中，HSQL、SQL Server、MySQL、DB2、Derby 等数据库都能够提供这种支持'")
    private Integer identityId;*/
   // @GeneratedValue(strategy = GenerationType.SEQUENCE)
   // @Column(name = "SEQUENCE_ID", columnDefinition = "int COMMENT '表示使用数据库的序列号为新增加的实体对象赋唯一值，作为实体的标识。这种情况下需要数据库提供对序列号的支持，常用的数据库中，Oracle、PostgreSQL 等数据库都能够提供这种支持。'")
   // private Integer sequenceId;
    //@GeneratedValue(strategy = GenerationType.TABLE)
    //@Column(name = "TABLE_ID", columnDefinition = "int COMMENT '表示使用数据库中指定表的某个字段记录实体对象的标识，通过该字段的增长为新增加的实体对象赋唯一值，作为实体的标识'")
    //private Integer tableid;


}
